package com.zrrd.learn.chapter06数组;

import java.util.Arrays;

/**
 * 1
 *
 * @author wrn
 * @version 1.0
 * @date 2023/7/14 9:13
 */

public class QueueForMe{

    private int init_capacity = 10;

    private int max_capacity = Integer.MAX_VALUE;

    private int[] bottom_array;


    /**
     * 索引 ： 用来存储数组元素时的下标
     */
    private int index = 0;

    /**
     * 成员方法
     * 构造方法 ： 与类名相同的方法，不能有返回值，什么时候执行 当有人new时
     */
    public QueueForMe(){
        bottom_array = new int[init_capacity];
    }

    public boolean append(int x) {

        int newCapacity = bottom_array.length + (bottom_array.length >> 1);
        int lastCapacity = newCapacity > max_capacity ? max_capacity : (int) newCapacity;

        if (index == bottom_array.length) {
            bottom_array = Arrays.copyOf(bottom_array, lastCapacity);

        }
        bottom_array[index++] = x;
        return true;
    }

    public int getHeader(){
        return bottom_array[0];
    }

    public static void main(String[] args) {
        QueueForMe q = new QueueForMe();
        q.append(1);
        q.append(2);

        System.out.println(q.getHeader());
        System.out.println(q.getHeader());
    }

}
